#ifndef __HEADER_LOG__
#define __HEADER_LOG__

#include "crypto/types.h"

enum LogLevel
{
    LOG_LEVEL_INFO,
    LOG_LEVEL_DEBUG,
    LOG_LEVEL_WARNING,
    LOG_LEVEL_ERROR,
};
int LogSetFile(char *path);
void loger(enum LogLevel level, char *file, char *baseFile, int line, char *data);

#define INFO(data) loger(LOG_LEVEL_INFO, __FILE__, __BASE_FILE__, __LINE__, data);
#define DEBUG(data) loger(LOG_LEVEL_DEBUG, __FILE__, __BASE_FILE__, __LINE__, data);
#define WARNING(data) loger(LOG_LEVEL_WARNING, __FILE__, __BASE_FILE__, __LINE__, data);
#define ERROR(data) loger(LOG_LEVEL_ERROR, __FILE__, __BASE_FILE__, __LINE__, data);
#endif